﻿using SmartWMS.Common.ResponseOutput;
using SmartWMS.Server.WarehouseManage.CheckServer.Dto;
using SmartWMS.Server.WarehouseManage.InventoryLedgerServer.Dto;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace SmartWMS.Server.WarehouseManage.InventoryLedgerServer
{
    public interface ICheckServers: ITransientServer
    {
        /// <summary>
        /// 盘点列表
        /// </summary>
        /// <param name="dto"></param>
        /// <returns></returns>
        Task<Response<List<CheckDtoPes>>> GetCheckDtoPes(CheckDtoPage dto);
        /// <summary>
        /// 删除数据
        /// </summary>
        /// <param name="dto"></param>
        /// <returns></returns>
        Task<Response<bool>> DelCheck(CheckDtoPage dto);
        /// <summary>
        /// 批量删除数据（盘点表盘点明细）
        /// </summary>
        /// <param name="dto"></param>
        /// <returns></returns>
        Task<Response<bool>> DeleteBatchCheck(List<CheckDtoPage> dto);
        /// <summary>
        /// 添加盘点数据（盘点明细）
        /// </summary>
        /// <param name="dto"></param>
        /// <returns></returns>
       Task<Response<bool>> AddCheck(CheckDtoPes dto);
        /// <summary>
        /// 反填数据
        /// </summary>
        /// <param name="dto"></param>
        /// <returns></returns>
        public CheckDtoPes ReckCheck(CheckDtoPes dto);
        /// <summary>
        /// 修改单条数据
        /// </summary>
        /// <param name="dto"></param>
        /// <returns></returns>
        Task<Response<bool>> UpdateCheckDetail(ProduDtoPes dto);
        /// <summary>
        /// 批量修改数据
        /// </summary>
        /// <param name="dto"></param>
        /// <returns></returns>
        Task<Response<bool>> UpdateCheck(CheckDtoPes dto);
        /// <summary>
        /// 订单审核
        /// </summary>
        /// <param name="dto"></param>
        /// <returns></returns>
        Task<Response<bool>> UpdateCheckState(CheckDtoPes dto);
    }
}
